<?php 
namespace Tools\Controller;
use Common\Controller\BaseController;
class CodeController extends BaseController{
	
	/**
	 * @desc 生成二维码地址
	 * @param string code 必须 二维码内容
	 * @param string level 非必须 纠错级别：L、M、Q、H，默认为L
	 * @param int size 非必须 点的大小：1到10,用于手机端4就可以了，默认为4
	 */
	public function qrcode(){
		if(!I('code')) _apiReturn(0, 'error,miss param code', $data, $url);
		vendor("phpqrcode.phpqrcode");
		$data = I('code');
		$qrcode = new \QRcode();
		// 纠错级别：L、M、Q、H
		$level = I('level') ? I('level'):'L';
		// 点的大小：1到10,用于手机端4就可以了
		$size = I('size') ? I('size') : 4;
		// 下面注释了把二维码图片保存到本地的代码,如果要保存图片,用$fileName替换第二个参数false
		//$path = "images/";
		// 生成的文件名
		//$fileName = $path.$size.'.png';
		ob_clean();
		$qrcode::png($data, false, $level, $size);
		exit;
	}
	
	/**
	 * 生成条码地址
	 */
	public function barcode(){
		if(!I('code')) _apiReturn(0, 'error,miss param code', $data, $url);
		vendor('BCode.BCGcode128');
		vendor('BCode.BCGDrawing');
		vendor('BCode.BCGColor');
		vendor('Bcode.BCGFontFile');
		$fontSize = I('fontsize') ? I('fontsize') :8;
		/** 定义颜色*/
		$color_white = new \BCGColor(255, 255, 255);
		$code = new \BCGcode128();
		$font = new \BCGFontFile('./Public/Static/Arial.ttf',$fontSize);
		/** 赋值颜色*/
		$drawing = new \BCGDrawing('', $color_white);
		/** 生成内容*/
		$code->setFont($font);
		$code->parse(I('code'));
		$drawing->setBarcode($code);
		/** 渲染图片*/
		$drawing->draw();
		/** 生成图片*/
		// 生成PNG格式的图片
		header('Content-Type: image/png');
		ob_clean();
		$drawing->finish($drawing::IMG_FORMAT_PNG);
		exit;
	}
	
}

?>